//
// Description: 高精度除法 模板
// Created by Loading on 2021/10/17.
//

/* 适用于求一个超大数（超过 64 位无符号整型）除以一个整数的结果 */

#include <bits/stdc++.h>

using namespace std;

// res = A / b，余数是 r， A >= 0，b > 0，注意：A 为逆序存储，第一位为个位
vector<int> div(vector<int> &A, int b, int &r) {
    vector<int> res;

    r = 0;
    /* 除法要从最高位遍历 */
    for (int i = (int) A.size() - 1; i >= 0; --i) {
        r = r * 10 + A[i];
        res.emplace_back(r / b);
        r %= b;
    }
    /* 反转结果，逆序存储 */
    reverse(res.begin(), res.end());

    // 去掉前导 0
    while (res.size() > 1 && res.back() == 0) {
        res.pop_back();
    }

    return res;
}

int main() {
    string s = "1000000000000";
    int b = 9;

    vector<int> A;
    // 逆序存储
    for (int i = (int) s.size() - 1; i >= 0; --i) {
        A.emplace_back(s[i] - '0');
    }

    // 余数
    int r;
    vector<int> res = div(A, b, r);

    for (int i = (int) res.size() - 1; i >= 0; --i) {
        cout << res[i];
    }
    cout << endl;
    cout << r << endl;

    return 0;
}